#ifndef DIAGRAM_BLOCK_H
#define DIAGRAM_BLOCK_H

#include <string>
#include "NodeContainer.h"
#include "Control.h"

class DiagramBlock : public NodeContainer {
 public:

  DiagramBlock(std::string name, bool topLevel);
  void add(Node* child);
  llvm::Module* process();

 private:

  bool isTopLevel;
  std::string name;


  //non owndership (pointers to children)
  std::vector<Control*> diagramIOs;



};
#endif
